package com.school.campus.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.school.common.annotation.Excel;
import com.school.common.core.domain.BaseEntity;

/**
 * 在线报修对象 repair
 *
 * @author wwj
 * @date 2025-11-03
 */
public class Repair extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID（自增）
     */
    private Long id;

    /**
     * 报修人姓名
     */
    @Excel(name = "报修人姓名")
    private String reporter;

    /**
     * 报修地点（如：XX楼3层会议室）
     */
    @Excel(name = "报修地点", readConverterExp = "如=：XX楼3层会议室")
    private String location;

    /**
     * 报修原因（详细描述）
     */
    @Excel(name = "报修原因", readConverterExp = "详=细描述")
    private String reason;

    /**
     * 证明图片（多个URL用逗号分隔）
     */
    @Excel(name = "证明图片", readConverterExp = "多=个URL用逗号分隔")
    private String proofImg;

    /**
     * 报修状态（0-未接单，1-维修中，2-已修复）
     */
    @Excel(name = "报修状态", readConverterExp = "0=-未接单，1-维修中，2-已修复")
    private Long status;

    /**
     * 维修人ID（关联staff表id，未接单时为NULL）
     */
    @Excel(name = "维修人ID", readConverterExp = "关=联staff表id，未接单时为NULL")
    private Long staffId;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setReporter(String reporter) {
        this.reporter = reporter;
    }

    public String getReporter() {
        return reporter;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getLocation() {
        return location;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getReason() {
        return reason;
    }

    public void setProofImg(String proofImg) {
        this.proofImg = proofImg;
    }

    public String getProofImg() {
        return proofImg;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    public Long getStatus() {
        return status;
    }

    public void setStaffId(Long staffId) {
        this.staffId = staffId;
    }

    public Long getStaffId() {
        return staffId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("reporter", getReporter())
                .append("location", getLocation())
                .append("reason", getReason())
                .append("proofImg", getProofImg())
                .append("status", getStatus())
                .append("staffId", getStaffId())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
